---
title: Configurare
description: Configurația implicită de linting a Ultracite și cum să o modificați.
---

Una dintre cele mai bune caracteristici ale Ultracite este că funcționează fără nicio configurare din start – puteți pur și simplu să extindeți presetul `ultracite` și să începeți imediat. Totuși, fiecare proiect este puțin diferit și este posibil să doriți să personalizați anumite reguli sau să adaptați Ultracite pentru diferite framework-uri. Această secțiune explică configurația implicită și cum să o extindeți sau să o suprascrieți.

Ultracite oferă configurații specifice framework-ului pe care le puteți extinde în plus față de configurația de bază. Acest lucru vă permite să adăugați reguli de linting specifice framework-ului fără a supraîncărca configurația de bază sau a gestiona reguli irelevante.

Puteți găsi lista completă a configurațiilor de framework disponibile în secțiunea [Preseturi](/preset/core).

### Utilizare

Pentru a folosi o configurație specifică unui framework, adăugați-o în tabloul `extends`:

```jsonc title="biome.jsonc"
{
  "extends": ["ultracite/core", "ultracite/solid"]
}
```

Puteți combina mai multe configurații dacă lucrați la un proiect multi-framework sau folosiți ceva de genul Astro, care suportă mai multe framework-uri.

```jsonc title="biome.jsonc"
{
  "extends": ["ultracite/core", "ultracite/react", "ultracite/remix"]
}
```

## Configurația implicită

Când includeți `"extends": ["ultracite/core"]` în `biome.jsonc`, importați presetul de bază al Ultracite. Acest preset include reguli și configurații agnostice față de framework. Câteva aspecte notabile ale configurației implicite:

- **Rigoare TypeScript**: Ultracite activează verificările stricte ale TypeScript și regulile de lint care cer tipare robuste. De exemplu, descurajează utilizarea lui `any`, necesită tratarea valorilor `null/undefined` și preferă tipuri explicite în anumite situații pentru a evita ambiguitatea.
- **Echivalentele "Recommended" ESLint**: Reguli comune de bune practici (fără variabile nefolosite, fără eval explicit, fără poluare proto etc.) sunt incluse.
- **Accesibilitate**: Reguli echivalente standardelor de accesibilitate sunt activate implicit (atribute ARIA, HTML semantic, navigare cu tastatura etc.).
- **Node.js**: Particularitățile specifice mediului sunt tratate. De exemplu, variabilele globale oferite de Node (cum ar fi `module`, `process`) sunt recunoscute astfel încât să nu fie marcate eronat ca nedefinite.
- **Convenții de formatare**: Setările formatter-ului Ultracite (moștenite în mare parte din impliciturile Biome/Prettier) includ indentare pe 2 spații, lungimea maximă a unei linii de 80 de caractere, punct și virgulă la sfârșitul instrucțiunilor, virgule finale acolo unde sunt valide (de ex., în array-uri/obiecte pe mai multe linii), ghilimele duble pentru stringuri etc. Acestea sunt alese pentru a se potrivi convențiilor comune și pentru a asigura curățenia diff-urilor.

Toate aceste setări implicite au ca scop impunerea unui stil consecvent și prevenirea erorilor comune, fără ca dumneavoastră să fiți nevoit să configurați manual fiecare regulă.

Pentru o referință cuprinzătoare a tuturor regulilor de linting configurate în configurația de bază a Ultracite, consultați documentația [Configurația principală](/preset/core).

## Suprascrierea configurației

### Modificarea `biome.jsonc`

Puteți dezactiva reguli modificând fișierul `biome.jsonc`.

De exemplu, pentru a dezactiva regula `noAutofocus`, puteți adăuga următorul fragment:

```jsonc title="biome.jsonc"
{
  "linter": {
    "rules": {
      "a11y": {
        "noAutofocus": "off"
      }
    }
  }
}
```

### Comentarii în linie

De asemenea, puteți dezactiva reguli pe baza de linie adăugând un comentariu la sfârșitul liniei:

```tsx title="page.tsx"
// biome-ignore lint/security/noDangerouslySetInnerHtml: This is a valid use case.
<div dangerouslySetInnerHTML={{ ... }} />
```